package org.sws.domain.strategy.service.rule.tree.factory.engine;

import org.sws.domain.strategy.service.rule.tree.factory.DefaultTreeFactory;

import java.util.Date;

/**
 * @Author sws
 * @Date 2025/2/25 11:37
 * @description: 中、后置规则组合引擎
 */
public interface IDecisionTreeEngine {

    /**
     * 执行方法
     *
     * @param userId          用户id
     * @param strategyId      策略id
     * @param awardId         奖品id
     * @param activityEndTime 活动结束时间
     * @return 奖品信息（id+奖品所命中的规则）
     */
    DefaultTreeFactory.StrategyAwardData process(String userId, Long strategyId, Integer awardId, Date activityEndTime);
}
